1. Field of the Invention
The present invention relates to a content delivery system, a content server, a content receiver, a content delivery method, a storage medium, and a program, for delivering a content to which additional information is attached based on an attribute of the content.
2. Related Art of the Invention
In general, when a content receiver attempts to receive a content stored in a content server through a network, the receiver sends a request to the content server by using a communication protocol such as HTTP and the like to receive content data (for example, see [Hypertext Transfer Protocol—HTTP/1.1] RFC2616 by R. Fielding et al as a document 1).
However, when the request is sent only by designating the content, the whole content is sent from the content server to the content receiver in response to a single request and when a receiving buffer for handling the communication protocol is limited in the content receiver, it is not possible to receive only a portion of the content. Further, even when the content receiver has some portions of the content, the content has to be received from beginning to end.
To improve these issues, some communication protocols support a block transfer so as to allow some portions of the content to be received. For example, HTTP provides for the block transfer by, a Range header included in a HTTP request message (for example, see Japanese Patent Laid-Open No. 2001-101091 as a document 2). The entire disclosures of the above described documents are incorporated herein by references in their entireties.
When the content is AV content, and the content receiver attempts to playback the AV content including image, video and audio stored in the content server, similarly as described above, the content server and receiver can send and receive the AV content. Particularly in the case of the AV content, an AV content player sends a request, while checking the availability of the receiving buffer prior to sending the AV content to the decoder. In this case, the sending and receiving of the AV content data is performed by using the above described block transfer.
However, when the content is transferred from the content server, additional information is sometimes attached according to a fixed rule based on an attribute of each portion of the content. As the additional information, for example, there are information regarding a level of importance of the portion, information regarding an encryption, and the like. In the case of the additional information regarding a level of importance, an intermediate device and the like between the content server and the content receiver monitor the additional information, and transfer the content data in the order of importance in case a network load is high. An example of information regarding an encryption is information regarding an encryption key.
The additional information is given every time the corresponding attribute within the content may be changed. For example, in the case of the additional information regarding the level of importance, the additional information is attached again every time the level of importance is changed within the content. For every transfer unit (packet and message) of the communication protocol, the additional information is always attached to the end of the communication protocol header. This is because of dealing with the situation or the like where the preceding packet or message is lost on the network.
FIGS. 2(a) to 2(c) show the examples of a HTTP message where additional information is given to a content and further it is transferred by HTTP. In FIG. 2(a), while the content is divided into three blocks according to the level of importance, the content is transmitted by two HTTP messages. In the first HTTP message shown in FIG. 2(b), right after the HTTP header, there follow additional information for a content block 1, the content block 1, additional information for a content block 2, and a portion (first half) of the content block 2. In the second HTTP message shown in FIG. 2(c), right after the HTTP header, first, there follows on the additional information for the content block 2. This is according to the rule that the additional information is always attached to the end of the HTTP header. Subsequently, there follow a portion (last half) of the content block 2, the additional information for a content block 3, and the content block 3.
FIGS. 3(b) to 3(d) are examples, where the transmission is made by three HTTP messages similarly to the case where the content of FIG. 3(a) is the same as shown in FIG. 2(a). Three content blocks are transmitted by three HTTP messages, respectively. In the first HTTP message shown in FIG. 3(b) right after the HTTP header, there follow the additional information for the content block 1 and the content block 1. In the second HTTP message shown in FIG. 3(c), right after the HTTP header, there follow the additional information for the content block 2 and the content block 2. In the third HTTP message shown in FIG. 3(d), right after the HTTP header, there follow the additional information for the content block 3 and the content block 3.
The data transferred as a message body (data portion) of each HTTP messages is data including the additional information followed by the content data. In terms of the HTTP protocol, since there is no differentiation between the additional information and the content data, both the additional information and the content data are transferred as a message body, and a data length (value of the Content-Length header) included in the HTTP header is also a sum of the additional information and the content data.
When the content receiver attempts to acquire a portion of the content included in the content server, for example, by using the Range header of HTTP, there arises a problem when such an additional information exists. The data sent and received by the HTTP is data including several additional information. Consequently, when the content receiver attempts to acquire a portion of the content, a range to be acquired has to be designated by supposing a whole data consisting of additional information and content data.
However, as evident from the FIGS. 2(b) and 2(c) and FIGS. 3(b) to 3(d), the number of additional information sent and received in total is being changed depending on how to divide the content. Since the content receiver has no idea where the attribute changes in the content, the receiver does not know where the additional information is inserted, and consequently, the receiver is unable to designate the range to be acquired.
That is, there is a problem that a conventional content receiver is unable to designate a range desired to be received when the content attached with the additional information is received from the content server.
Further, when the content is AV content, particularly information regarding a copyright management is sometimes attached as the additional information. That is, information to the effect that some portions of the AV content are allowed to be copied, but some other portions are not allowed to be copied. In this case, the portions that are not allowed to be copied must be transferred after enciphered on the network. Further, in case the encryption key is renewed periodically, information regarding decryption may be attached as the additional information.
When the content is AV content, the content receiver, while checking the availability of the receiving buffer, transmits such a request as attempting to acquire a portion of the AV content. In this case, when the additional information and the like regarding the copyright management is attached in the midst of the content, the content receiver must designate the range to be acquired by supposing the whole data consisting of additional information and AV content data. However, since the content receiver has no idea where the information and the like regarding the copyright management changes in the AV content, the receiver does note know a range of the playbacking to be requested.
That is, there is a problem that the conventional content receiver does not know a range to be requested when the AV content attached with the additional information is received from the content server.
In consideration of the above described problems, an object of the present invention is to provide a content delivery system, a content server, a content receiver, a content delivery method, a storage medium, and a program, which can designate a range desired to be received when the content receiver tries to receive a content with the additional information.